42 research outputs found
Applications of the Blockchain using cryptography
PhD ThesisWe have witnessed the rise of cryptocurrencies in the past eight years. Bitcoin and Ethereum
are the worldâs most successful cryptocurrencies with market capitalisations of 21bn respectively in June 2017. The innovation behind these cryptocurrencies is the
blockchain which is an immutable and censorship resistant public ledger. Bitcoin introduced
the blockchain to trade a single asset (i.e. bitcoins), whereas Ethereum adopted the
blockchain to store and execute expressive smart contracts. In this thesis, we consider cryptographic
protocols that bootstrap trust from the blockchain. This includes secure end-to-end
communication between two pseudonymous users, payment protocols, payment networks
and decentralised internet voting. The first three applications rely on Bitcoin, whereas the
final e-voting application is realised using Ethereum.
First, it is important to highlight that Bitcoin was designed to protect the anonymity (or
pseudonymity) for financial transactions. Nakamoto proposed that financial privacy is achievable
by storing each partyâs pseudonym (and not their real-world identity) in a transaction.
We highlight that this approach for privacy has led to real-world authentication issues as
merchants are failing to re-authenticate customers in post-transaction correspondence. To
alleviate these issues, we propose an end-to-end secure communication protocol for Bitcoin
users that does not require any trusted third party or public-key infrastructure. Instead, our
protocol leverages the Blockchain as an additional layer of authentication. Furthermore,
this insight led to the discovery of two attacks in BIP70: Payment Protocol which is a
community-accepted standard used by more than 100,000 merchants. Our attacks were
acknowledged by the leading payment processors including Coinbase, BitPay and Bitt. As
well, we have proposed a revised Payment Protocol that prevents both attacks.
Second, Bitcoin as deployed today does not scale. Scalability research has focused on two
directions: 1) redesigning the Blockchain protocol, and 2) facilitating âoff-chain transactionsâ
and only consulting the Blockchain if an adjudicator is required. We focus on the latter
and provide an overview of Bitcoin payment networks. These consist of two components:
payment channels to facilitate off-chain transactions between two parties, and the capability
to fairly exchange bitcoins across multiple channels. We compare Duplex Micropayment
Channels and Lightning Channels, before discussing Hashed Time Locked Contracts which
viii
enable Bitcoin-based payment networks. Furthermore, we highlight challenges in routing
and path-finding that need to be overcome before payment networks are practically feasible.
Finally, we study the feasibility of executing cryptographic protocols on Ethereum. We
provide the first implementation of a decentralised and self-tallying internet voting protocol
with maximum voter privacy as a smart contract. The Open Vote Network is suitable for
boardroom elections and is written as a smart contract for Ethereum. Unlike previously
proposed Blockchain e-voting protocols, this is the first implementation that does not rely on
any trusted authority to compute the tally or to protect the voterâs privacy. Instead, the Open
Vote Network is a self-tallying protocol, and each voter is in control of the privacy of their
own vote such that it can only be breached by a full collusion involving all other voters. The
execution of the protocol is enforced using the consensus mechanism that also secures the
Ethereum blockchain. We tested the implementation on Ethereumâs official test network to
demonstrate its feasibility. Also, we provide a financial and computational breakdown of its
execution cost
Betrayal, Distrust, and Rationality: Smart Counter-Collusion Contracts for Verifiable Cloud Computing
Cloud computing has become an irreversible trend. Together comes the pressing
need for verifiability, to assure the client the correctness of computation
outsourced to the cloud. Existing verifiable computation techniques all have a
high overhead, thus if being deployed in the clouds, would render cloud
computing more expensive than the on-premises counterpart. To achieve
verifiability at a reasonable cost, we leverage game theory and propose a smart
contract based solution. In a nutshell, a client lets two clouds compute the
same task, and uses smart contracts to stimulate tension, betrayal and distrust
between the clouds, so that rational clouds will not collude and cheat. In the
absence of collusion, verification of correctness can be done easily by
crosschecking the results from the two clouds. We provide a formal analysis of
the games induced by the contracts, and prove that the contracts will be
effective under certain reasonable assumptions. By resorting to game theory and
smart contracts, we are able to avoid heavy cryptographic protocols. The client
only needs to pay two clouds to compute in the clear, and a small transaction
fee to use the smart contracts. We also conducted a feasibility study that
involves implementing the contracts in Solidity and running them on the
official Ethereum network.Comment: Published in ACM CCS 2017, this is the full version with all
appendice
A Smart Contract for Boardroom Voting with Maximum Voter Privacy
We present the first implementation of a decentralised and self-tallying internet voting protocol with maximum voter privacy using the Blockchain. The Open Vote Network is suitable for boardroom elections and is written as a smart contract for Ethereum. Unlike previously proposed Blockchain e-voting protocols, this is the first implementation that does not rely on any trusted authority to compute the tally or to protect the voterâs privacy. Instead, the Open Vote Network is a self-tallying protocol, and each voter is in control of the privacy of their own vote such that it can only be breached by a full collusion involving all other voters. The execution of the protocol is enforced using the consensus mechanism that also secures the Ethereum blockchain. We tested the implementation on Ethereumâs official test network to demonstrate its feasibility. Also, we provide a financial and computational breakdown of its execution cost
Atomically Trading with Roger: Gambling on the success of a hardfork
We present atomic trade protocols for Bitcoin and Ethereum
that can bind two parties to swap coins in the event that two blockchains
emerge from a single âpre-forkâ blockchain. This work is motivated by
a bet between two members of the Bitcoin community, Loaded and
Roger Ver, to trade 60,000 bitcoins in the event that Bitcoin Unlimitedâs
planned hardfork occurs and the blockchain splits into two distinct
forks. Additionally we study several ways to provide replay protection
in the event of hardfork alongside a novel mechanism called migration
inputs. We provide a detailed survey and history of previous softforks
and hardforks in Ethereum and Bitcoin
Refund Attacks on Bitcoinâs Payment Protocol
BIP70 is a community-accepted Payment Protocol standard that governs how merchants and customers perform payments in Bitcoin. This standard is supported by most major wallets and the two dominant Payment Processors: Coinbase and BitPay, who collectively provide the infrastructure for accepting Bitcoin as a form of payment to more than 100,000 merchants. In this paper, we present new attacks on the Payment Protocol, which affect all BIP70 merchants. The Silkroad Trader attack highlights an authentication vulnerability in the Payment Protocol while the Marketplace Trader attack exploits the refund policies of existing Payment Processors. Both attacks have been experimentally verified on real-life merchants using a modified Bitcoin wallet. The attacks have been acknowledged by both Coinbase and Bitpay with temporary mitigation measures put in place. However, to fully address the identified issues will require revising the BIP70 standard. We present a concrete proposal to revise BIP70 by providing the merchant with publicly verifiable evidence to prevent both attacks
SoK: Validating Bridges as a Scaling Solution for Blockchains
Off-chain protocols are a promising solution to the cryptocurrency scalability dilemma. It focuses on moving transactions from a blockchain network like Ethereum to another off-chain system while ensuring users can transact with assets that reside on the underlying blockchain. Several startups have collectively raised over $100m to implement off-chain systems which rely on a validating bridge smart contract to self-enforce the safety of user funds and liveness of transaction execution. It promises to offer a Coinbase-like experience as users can transact on an off-chain system while still retaining the underlying blockchainâs security for all processed transactions. Unfortunately, the literature for validating bridges is highly disparate across message boards, chat rooms and for-profit ventures that fund its rapid development. This Systematization of Knowledge focuses on presenting the emerging field in an accessible manner and to bring forth the immediate research problems that must be solved before we can extend Ethereumâs security to new (and experimental) off-chain systems
Pisa: Arbitration Outsourcing for State Channels
State channels are a leading approach for improving the scalability of blockchains and cryptocurrencies. They allow a group of distrustful parties to optimistically execute an application-defined program amongst themselves, while the blockchain serves as a backstop in case of a dispute or abort. This effectively bypasses the congestion, fees and performance constraints of the underlying blockchain in the typical case. However, state channels introduce a new and undesirable assumption that a party must remain on-line and synchronised with the blockchain at all times to defend against execution fork attacks. An execution fork can revert a state channelâs history, potentially causing financial damage to a party that is innocent except for having crashed. To provide security even to parties that may go off-line for an extended period of time, we present Pisa, a protocol enables such parties to delegate to a third party, called the custodian, to cancel execution forks on their
behalf. To evaluate Pisa, we provide a proof-of-concept implementation for a simplified Sprites and we demonstrate that it is cost-efficient to deploy on the Ethereum network